package ca.etsmtl.log730.projet2.users;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;



public class UserController {

	private Set<User> users = new HashSet<User>();

	private List<UserListener> userListeners = new ArrayList<UserListener>();
	
	public void addUserListener(UserListener ul) {
		userListeners.add(ul);
	}
	public void removeUserListener(UserListener ul) {
		userListeners.remove(ul);
	}
	public void addUser(User u) {
		users.add(u);
		fireUserJoined(u);
	}
	public void removeUser(User u) {
		users.remove(u);
		fireUserQuitted(u);
	}
	
	protected void fireUserJoined(User u) {
		for(UserListener ul: userListeners) {
			ul.userJoined(u);
		}
	}
	
	protected void fireUserQuitted(User u) {
		for(UserListener ul: userListeners) {
			ul.userQuitted(u);
		}
	}
}
